The present invention relates to a diagnostic tool for use in integrated circuits.
As is known, modern computer systems are populated by a number of integrated circuits. The integrated circuits provide a dense packaging of circuit components. For example, the Pentium® Pro Processor, commercially available from Intel Corporation, is a processor device provided in a ceramic package having dimensions of 2.66 inches by 2.46 inches. However, on a 0.25 μm process, all processing elements for the Pentium® II Processor are provided in a semi-conductor wafer which is approximately 450 mils by 450 mils.
FIG. 1 illustrates components of an exemplary computer system. The system 100 may include a processor 110, a graphics controller 120, one or more memories 130, and one or more peripheral devices 140. In the example of FIG. 1 a bridge interface 150 manages data traffic to and from other components 110–140. As illustrated, the bridge interface 150 may communicate directly with the graphics controller 120 and memory 130. It may communicate with the processor 110 via a first data bus 160 and it may communicate with the peripheral devices 140 via a second data bus 170. Other implementations are possible. An example of a conventional bridge interface 150 may be found in “INTEL 440 FX PCI Set: 82441 FX PCI and Memory Controller (PMC) and 82442FX Data Bus Accelerator (DBX),” Order No. 290549-001 available from Intel Corp., P.O. Box 58119, Santa Clara, Calif. 95052-8119. In known computer systems, the processor 110, graphics controller 120, memory 130, peripheral devices 140 and bridge interface 150 each are provided as separate integrated circuits.
For diagnostic and optimization purposes, designers of computer systems find it useful to monitor data transmitted among components 110–150 of the computer system 100. For example, a trace device 180 may be attached to bus 170 to monitor data exchanged between bridge 150 and a peripheral device 140. As is known, electrical signals transferred on bus 170 move too quickly to be observed by the human eye. Therefore, the trace 180 typically is implemented as a programmable device and is programed to measure and store data in a memory on the trace 180. For example, trace 180 may be programmed to record all active data on bus 170. Alternatively, trace 180 may be programmed to measure all data of a particular type of data transaction. A variety of data measurement techniques are known for diagnostic or optimization purposes. Exemplary trace devices 180 include, for PCI buses, the model no. HP 2926A PCI bus analyzer and, for motherboard buses, the model no. 16700A logic analyzer, both commercially available from Hewlett Packard. There are others.
A trace may be provided between any of the integrated circuits illustrated in FIG. 1. For example, trace device 190 is shown in communication with a data path 125 extending from the graphics controller 120 to the bridge interface 150. Again, trace 190 may be programmed to record some or all of the data transferred between the graphics controller 120 and bridge interface 150 according to known techniques.
As is known, traces 180, 190 are physically interconnected with data paths extending between components. That is, a technician selectively establishes electrical connections between traces 180, 190 and the wires that carry data to be analyzed.
Advances in circuit integration may make it possible to include more powerful functionality into a single integrated circuit. An example is shown in FIG. 2. There, a single chip 280 is shown to include the functionality of a bridge interface 250 and a graphics controller 220. The bridge interface 250 and graphics controller 220 may be provided in discrete portions of the chip 280 and still may communicate data over an internal communications path 225. However, because communication path 225 is manufactured within the chip 280, it would not be possible for a technician to interface a trace to the communication path 225 to record data placed thereon. This occurs simply because circuit components are provided within chip 280 at such a high density that it would be difficult if not impossible for a technician to create the required electrical connections. Thus, while it is desirable to provide increasing functionality into a single integrated circuit, doing so provides a distinct disadvantage: It may be no longer possible to perform trace analysis according to conventional techniques.
Accordingly, there is a need in the art for a trace analyzer provided within an integrated circuit. There is a further need in the art for a trace analyzer that records data provided along data paths within the integrated circuits.